<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="../js/ajax_fn.js"></script>
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    var p = new Promise(function(resolve,reject) {
        // resolve(111);
        // reject(222);           // 以抛错形式改变状态传递数据
        throw 666;                // 自己抛错
        // console.log(hello);    // 语法错误
    });
    console.log(p);

// Promise 实例的方法 (p)    catch  接收错误时执行函数
    // catch(callback2)    用于指定发生错误时的回调函数

    // 是then(null,reject)或.then(undefined,reject)的别名，



    p.catch(
        function(err){
            console.log(err);
        }
    )

    var p = readText("../data/1.txt");
    p.then(function(text){          //成功时执行
        console.log(text);
    }).catch( function (err) {      // 失败时执行
        console.log(err);
    });

    function readText(url){
        var p = new Promise(function(resolve,reject) {
            $.ajax({
                type:"get",
                url,
                success(text){
                    resolve(text);
                }
            })
        })
        return p;
    };
 

</script>
</html>